; int iesimo(lista l, unsigned int i);

global iesimo

%define l [ebp + 8]
%define i [ebp + 12]
%define off_prox 4
%define off_dato 0

section .text

iesimo:
	push ebp
	mov ebp, esp
	push esi
	push edi
	push ebx
	
	mov esi, l
	mov ecx, i
	mov eax, -1
	
	cmp esi, 0
	je fin
	jecxz devuelvo_iesimo
	
ciclo:
	mov esi, [esi + off_prox]
	cmp esi, 0
	je fin
	loop ciclo
	
devuelvo_iesimo:	
	mov eax, [esi + off_dato]
	
fin:
	pop ebx
	pop edi
	pop esi
	pop ebp
	ret
